#ifndef SHOT_HEADER
#define SHOT_HEADER

#include <vector>
#include <string>
#include <list>

#include "AbstractClasses\GameEntity.h"
#include "../Plugin/Plugin.h"
#include "../Games/TyrianEnvironment.h"
#include "../Games/MyGame.h"
#include "Ship.h"

class Shot: public GameEntity, public Plugin {
public:
	Shot(int, std::string);
	~Shot();

	std::string getPluginName();						//returns the name of the plugin
	void getNewPosition(POINT3D&);				//update the position of the game entity

	void draw();
	void actualUpdate(unsigned long long timePassed);

	void reset();

	int getType();

	POINT3D getShotPosition();

private:

	static Plugin * usedPlugin;
	CUBEMESH _mesh;
	POINT3D _scalingVector;
	POINT3D _shotPosition;

	int _colorState;
	int _directionState;
};
#endif